package com.lft.算法题0001.最大质因数;

/**
 * 13195 的所有质因数为 5、7、13 和 29。
 * 600851475143 最大的质因数是多少？
 */
public class MaxPrimeFactors {
	public static void main(String[] args) {
		long a = 600851475143L;
		System.out.println(maxPrimeFactors(600851475143L));
	}
	
	/**
	 * 找出最大的质因数。
	 * @param num 原始数
	 * @return 最大的质因数。
	 */
	public static long maxPrimeFactors(long num) {
		if (num == 1) {
			return 1;
		}
		for (long i = 2; i < num; i++) {
			if (num % i == 0) {
				return maxPrimeFactors(num / i);
			}
		}
		return num;
	}
}
